namespace Lichtspiel.Display
{
    public struct Color
    {
        // TODO mehr farben
        // TODO operatoren
        public static readonly Color Black = new Color(0, 0, 0);
        public static readonly Color Blue = new Color(0, 0, 1);
        public static readonly Color Green = new Color(0, 1, 0);
        public static readonly Color Red = new Color(1, 0, 0);
        public static readonly Color Cyan = new Color(0, 1, 1);
        public static readonly Color Yellow = new Color(1, 1, 0);
        public static readonly Color White = new Color(1, 1, 1);

        public float A;
        public float B;
        public float G;
        public float R;

        public Color(float r, float g, float b)
            : this(r, g, b, 1) {}

        public Color(float r, float g, float b, float a) {
            R = r;
            G = g;
            B = b;
            A = a;
        }

        public Color(Color c, float a)
            : this(ref c, a) {
            
        }

        public Color(ref Color c, float a)
            : this(c.R, c.G, c.B, a) {
        }
    }
}